Thread-Modular Abstraction Refinement

نویسندگان

  • Thomas A. Henzinger
  • Ranjit Jhala
  • Rupak Majumdar
  • Shaz Qadeer
چکیده

We present an algorithm called Tar (“Thread-modular Abstraction Refinement”) for model checking safety properties of concurrent software. The Tar algorithm uses thread-modular assume-guarantee reasoning to overcome the exponential complexity in the control state of multithreaded programs. Thread modularity means that Tar explores the state space of one thread at a time, making assumptions about how the environment can interfere. The Tar algorithm uses counterexampleguided predicate-abstraction refinement to overcome the usually infinite complexity in the data state of C programs. A successive approximation scheme automatically infers the necessary precision on data variables as well as suitable environment assumptions. The scheme is novel in that transition relations are approximated from above, while at the same time environment assumptions are approximated from below. In our software verification tool Blast we have implemented a fully automatic race checker for multithreaded C programs which is based on the Tar algorithm. This tool has verified a wide variety of commonly used locking idioms, including locking schemes that are not amenable to existing dynamic and static race checkers such as Eraser or Warlock.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Thread-Modular Counterexample-Guided Abstraction Refinement

We consider the refinement of a static analysis method called thread-modular verification. It was an open question whether such a refinement can be done automatically. We present a counterexampleguided abstraction refinement algorithm for thread-modular verification and demonstrate its potential, both theoretically and practically.

متن کامل

Threader: A Constraint-Based Verifier for Multi-threaded Programs

We present a tool that implements Owicki-Gries and relyguarantee methods for the compositional verification of multi-threaded programs. Our tool computes the requisite auxiliary assertions automatically using an abstraction and refinement procedure. Our procedure is based on a Horn clause encoding of refinement queries and facilitates the discovery of thread-modular proofs when such proofs exis...

متن کامل

Modular Counterexample Guided Abstraction Refinement for Temporal-Epistemic Logic

We introduce a fully automatic technique for the modular abstraction refinement of multi-agent systems with respect to a formula in the universal fragment of the temporal-epistemic CTLK. Unlike previous approaches to temporal-epistemic abstraction refinement, our procedure is modular and works at the local component level. Consequently, the validation of counterexamples and the refinement of qu...

متن کامل

Precise Thread-Modular Verification

Thread-modular verification is a promising approach for the verification of concurrent programs. Its high efficiency is achieved by abstracting the interaction between threads. The resulting polynomial complexity (in the number of threads) has its price: many interesting concurrent programs cannot be handled due to the imprecision of the abstraction. We propose a new abstraction algorithm for t...

متن کامل

Thread-Modular Verification with Arbitrary Precision

State explosion is the curse of concurrency. Thread-modular verification of multithreaded programs is a promising method that circumvents the state explosion. The method trades its polynomial complexity for a loss of precision that limits the verification power of the method. In this paper we show why this limit can be removed and how. Our work is based on the fact that thread-modular verificat...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2003